package com.dhnsoft.shortLink.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dhnsoft.shortLink.admin.dao.entity.GroupDO;
import com.dhnsoft.shortLink.admin.dto.req.ShortLinkGroupSortReqDTO;
import com.dhnsoft.shortLink.admin.dto.req.ShortLinkGroupUpdateReqDTO;
import com.dhnsoft.shortLink.admin.dto.resp.ShortLinkGroupRespDTO;

import java.util.List;

/**
 * ClassName: GroupService
 * Package: com.dhnsoft.shortLink.admin.service
 * Description:
 *
 * @Author dhn
 * @Create 2024/3/19 16:59
 * @Version 1.0
 */
public interface GroupService extends IService<GroupDO> {


    /**
     * 存储group分组
     * @param name 分组名称
     */
    void saveGroup(String name);

    /**
     * 用户注册时自动生成默认分组
     * @param username 注册用户名
     * @param name 分组名称
     */
    void saveGroup(String username,String name);

    /**
     * 查询该登录用户下的分组list
     * @return
     */
    List<ShortLinkGroupRespDTO> listGroup();

    /**
     * 更新分组信息
     * @param requestParam 分组信息的名称和gid
     */

    void updateGroup(ShortLinkGroupUpdateReqDTO requestParam);


    /**
     * 根据gid删除用户分组
     * @param gid
     */
    void deleteGroup(String gid);


    /**
     * 更新分组排序
     * @param requestParam 传入的分组的集合
     */
    void sortGroup(List<ShortLinkGroupSortReqDTO> requestParam);


}
